notebook: consolidate code to remove the switch tab timer
authorCosimo Cecchi <cosimoc@gnome.org>
Wed, 19 Sep 2012 21:01:00 +0000 (17:01 -0400)
committerCosimo Cecchi <cosimoc@gnome.org>
Mon, 22 Oct 2012 22:37:47 +0000 (18:37 -0400)
https://bugzilla.gnome.org/show_bug.cgi?id=684415

gtk/gtknotebook.c

index c414a160798725ebebac7e03b4a0df4264fa93cc..a1469ef129b5a3003e6ff388a3b9b52aaf5c4f64 100644 (file)
@@ -1674,6 +1674,18 @@ gtk_notebook_get_property (GObject         *object,
  * gtk_notebook_drag_data_get
  * gtk_notebook_drag_data_received
  */
+static void
+remove_switch_tab_timer (GtkNotebook *notebook)
+{
+  GtkNotebookPrivate *priv = notebook->priv;
+
+  if (priv->switch_tab_timer)
+    {
+      g_source_remove (priv->switch_tab_timer);
+      priv->switch_tab_timer = 0;
+    }
+}
+
 static void
 gtk_notebook_destroy (GtkWidget *widget)
 {
@@ -1701,11 +1713,7 @@ gtk_notebook_destroy (GtkWidget *widget)
       priv->source_targets = NULL;
     }
 
-  if (priv->switch_tab_timer)
-    {
-      g_source_remove (priv->switch_tab_timer);
-      priv->switch_tab_timer = 0;
-    }
+  remove_switch_tab_timer (notebook);
 
   GTK_WIDGET_CLASS (gtk_notebook_parent_class)->destroy (widget);
 }
@@ -3789,11 +3797,7 @@ gtk_notebook_drag_motion (GtkWidget      *widget,
     }
   else
     {
-      if (priv->switch_tab_timer)
-        {
-          g_source_remove (priv->switch_tab_timer);
-          priv->switch_tab_timer = 0;
-        }
+      remove_switch_tab_timer (notebook);
     }
 
   return (target == tab_target) ? TRUE : FALSE;
@@ -3807,13 +3811,8 @@ gtk_notebook_drag_leave (GtkWidget      *widget,
   GtkNotebook *notebook = GTK_NOTEBOOK (widget);
   GtkNotebookPrivate *priv = notebook->priv;
 
-  if (priv->switch_tab_timer)
-    {
-      g_source_remove (priv->switch_tab_timer);
-      priv->switch_tab_timer = 0;
-    }
-
-  stop_scrolling (GTK_NOTEBOOK (widget));
+  remove_switch_tab_timer (notebook);
+  stop_scrolling (notebook);
 }
 
 static gboolean